Stylesheet uploading to manage terminal diversity

ABSTRACT

A method and apparatus for formatting content for presentation on a display device coupled to the client system is disclosed. When the client requests the content from the server, the server retrieves the content. The content is then processed at the server using instructions received from the client on how to format the content for the client. The processed content is then transmitted from the server to the client for display on the display device.

FIELD OF THE INVENTION

The invention relates to the transfer of information over networks suchas the Internet, and more particularly to a method and apparatus forfacilitating the transfer of data to clients with varying degrees ofcapability.

BACKGROUND OF THE INVENTION

In the past years, there has been an explosion in the number ofcommunication systems, such as the Internet, intranet and wirelesstelecommunication systems just to name a few. This has lead to a largenumber of different types of consumer devices, e.g., personal computers,mobile telephones, personal digital assistants (PDAs), webphones,televisions, etc., which can be used to communicate over these variousnetworks. These consumer devices have a huge variety of capabilitieswith respect to their user interface. For example, the user interface ofa mobile telephone differs wildly from the man-machine interface of apersonal computer, which in turn is very different from the userinterface of a digital camera. Indeed, even the capabilities within onetype of consumer device, such as mobile telephones, varies greatlydepending on the features and upgrades the consumer has selected for thedevice.

In the near future, all of these various consumer devices will beconnected to the same network such as an in-home digital network (suchas a HAVi), a wireless variant, the Internet, or a combination of theseor other systems. One problem with such a network is how to supplyinformation stored for instance in HTML format to such a wide range ofdifferent consumer devices in such a manner that the information can bedownloaded and displayed by the different consumer devices.

HTML is not designed to provide an author with direct control over theformat of a document. An author may control the format of an HTMLdocument, however, by creating a style sheet for the HTML document. Astyle sheet is a collection of style definitions which providesinstructions for formatting a document. A style sheet does not containany document content, only instructions for formatting document content.Typically, the document content is displayed on a display device. Astyle sheet may define the format properties of a document such as fontproperties (font family, font style, font variant, font weight, fontsize), color and background properties (background color, backgroundposition), text properties (word spacing, letter spacing), and pageproperties (columns, page margins).

Typically, a style sheet includes a number of style definitions or stylerules. Each style definition corresponds to a formatting property suchas a font property. A style sheet may be created using a style sheetlanguage such as Cascading Style Sheets (CSS), Document Style Semanticsand Specification Language (DSSSL) and Javascript Accessible StyleSheets (JASS). CSS supports cascading style sheets and is specificallydesigned for the presentation on a display device of documentsdistributed over a network such as the Internet. To display a documentusing a style sheet on a client system, the browser on the client systemmust support the style sheet language.

Several methods for handling the different requirements for differentconsumer display devices are being used in networks today. First, eachclient system can be provided with its own limited web-content browser.In this example, when the client requests a document, the server simplydelivers the document to the browser in the client. The browser thenconverts the document into the appropriate format prior to display. Thismethod has several disadvantages. First, the conversion is done by thebrowser in the client which could be a very time consuming operationparticularly in small devices (cellular telephones, PDAs) which havelimited processing capabilities. In addition, the server may waste timeby sending part or all of a document that may not be able to bedisplayed on the display device.

A second method for handling the diversity is to store the document in avariety of different formats and then select the correct version foreach individual client. Alternatively, the server can store a stylesheets for each type of device that may ask for the information. Thesemethods have the disadvantage of requiring the author (content provider)or the server to be familiar with the different requirements of allpossible clients.

SUMMARY OF THE INVENTION

It is an object of the invention to overcome the above-describeddeficiencies of the prior art by providing a method and apparatus forformatting a document wherein the client provides a set of instructionsto a server on how to format the document for the particular client andthe server uses the set of instructions to adapt the document for theclient before transmission to the client.

According to one embodiment of the invention, a method, in a computernetwork comprising a server system and a client system, for formattingcontent for presentation on a display device coupled to the clientsystem is disclosed. When the client requests the content from theserver, the server retrieves the content. The content is then processedat the server using instructions received from the client on how toformat the content for the client. The processed content is thentransmitted from the server to the client for display on the displaydevice.

According to another embodiment of the invention, a server forformatting content for display is disclosed. The server system comprisesmeans for retrieving the content in response to a request for thecontent from a client with a display device and processing means forprocessing the document using instructions received from the client onhow to format the content for the display device. Transmitting meanstransmit the processed content to the client system for display on thedisplay device.

According to another embodiment of the invention, a computer programproduct for formatting content for display is disclosed.

These and other aspects of the invention will be apparent from andelucidated with reference to the embodiments described hereafter.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will now be described, by way of example, with referenceto the accompanying drawings, wherein:

FIG. 1 is a block diagram of a computer network according to oneembodiment of the invention;

FIG. 2 is a flow chart illustrating a method for formatting content fordisplay according to one embodiment of the invention;

FIG. 3 is a block diagram of a computer network according to oneembodiment of the invention;

FIG. 4 is a flow chart illustrating a method for formatting content fordisplay according to one embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 illustrates a computer network for formatting content for displayaccording to one embodiment of the invention. The network comprises aclient 102 and a server 106. The client 102 may be a personal computer,mobile telephone, PDA, webphone, television, etc., and the server 106may be a remote computer operating in a networked environment. Serversare well known in the art and will not be full described herein. Theserver 106 comprises, among other features, transmitting and receivingmeans 107 for transmitting and receiving information over the networkedenvironment and at least one processor 109 for processing theinformation in various ways. Alternatively, processing devices externalfrom the server 106 could also be used to process the information. Inaddition, the server can be assisted in the processing by a layoutgenerator attached, for example, to the requested content.

The client renders a document (content) 108 obtained from a remotestorage device on an output device 104 coupled to the client 102 using apresentation component such as a browser 103. In this example, theoutput device 104 is a display device such as a computer screen, adisplay window on a mobile telephone or PDA, a television screen, etc.The document 108 specifies the content of the document as well as thestructure of the document. The document 108 may be an HTML documentwhich uses HTML tags to define the structure of the document.

The operation of the above-described network will now be described withreference to the flow chart illustrated in FIG. 2. When a client 102desires to display content on the display device 104, the client 102sends a request for the content 108 to the server 106 in step 202. Theserver then retrieves the content from a remote storage device in step204. The request for content may also include instructions on how thecontent should be formatted for the display device 104. The instructionsmay be a style sheet which had been stored in the client 102, pieces ofa language from which the server could create a style sheet from whichthe content could be formatted in step 206, or a set of instructions tofollow for formatting the content. Alternatively, the server 106 couldprompt the client 102 for the instructions regarding formatting of thecontent if the instructions are not sent with the content request.

Once the server 106 has retrieved the content 108 and either created oruploaded a style sheet from the client 102, the server 106 processes thecontent 108 using the style sheet or instructions to adapt the content108 for display on the display device 104 in step 208. Once the content108 has been adapted, the adapted content 112 is sent to the client 102from the server 106 in step 210. The adapted content 112 can then bedisplayed on the display device 104 in step 212.

FIG. 3 illustrates a variation of the computer network disclosed in FIG.1, wherein the same reference numerals are used for like elements. Inthis embodiment, a style sheet 116 for the client 102 has been saved onan external server 114. For example, the external server 114 could bemaintained by the vendor of the client device, wherein the vendorcreates and stores style sheets for various models and types of clientdevices. Furthermore, an individual client may be allowed to go to theexternal server 114 and customize the style sheet the vendor has createdfor that type of client. For example, the style sheet could be shared inwhole or in part between client devices, for example, using thecascading mechanism known from Cascading Style Sheets. Then, the clientdevice vendor could offer a generic style sheet for all such clientdevices on its web site, and individual client devices could thencustomize the generic style sheet. The customized style sheet for theparticular client can then be stored at the external server 114 or aremote storage device connected to the external server 114.

The operation of the network illustrated in FIG. 3 will now be describedwith reference to the flow chart illustrated in FIG. 4. When a client102 desires to display content on the display device 104, the client 102sends a request for the content 108 to the server 106 in step 402. Theserver then retrieves the content from a remote storage device in step404. The request for content may also include instructions on how thecontent should be formatted for the display device 104. In thisembodiment, the instructions include a URL giving the location of astored style sheet (either generic or customized) that should be used toformat the requested content. In addition, the instructions can alsoinclude additional style information for revising the stored stylesheet. Alternatively, the server 106 could prompt the client 102 for theinstructions regarding formatting of the content if the instructions arenot sent with the content request.

The server 106 retrieves the stored style sheet 116 from the identifiedlocation in step 406. Once the server 106 has retrieved the content 108and the stored style sheet from the external server 114, the server 106processes the content 108 using the style sheet to adapt the content 108for display on the display device 104 in step 408. Once the content 108has been adapted, the adapted content 112 is sent to the client 102 fromthe server 106 in step 410. The adapted content 112 can then bedisplayed on the display device 104 in step 412.

The above-described embodiments of the invention have several advantagesover the previously known systems. First, the amount of data transferredfrom the server to the client is minimized since the style sheet ispresumably arranged such that unnecessary parts of the content areremoved, for example, images in a document requested by a mobiletelephone, or reduced in size, e.g., a color image is converted to ablack and white image for a handheld device with a monochrome screen. Inaddition, by preprocessing the content at the server, the load on theclient is reduced, which is a great advantage for client devices withlimited processing capabilities. Furthermore, servers do not need to befamiliar with and store style sheets for all possible clients. Finally,by adapting the instructions, the look and feel of the content can becustomized and/or adapted to a new standard.

The above-described embodiments of the invention describe a method anapparatus for conveniently formatting content for display on a displaydevice wherein the server preprocesses the content in accordance withinstructions received from the client regarding the correct format ofthe content. It will be understood that the different embodiments of theinvention are not limited to the exact order of the above-describedsteps as the timing of some steps can be interchanged without affectingthe overall operation of the invention. Furthermore, the term“comprising” does not exclude other elements or steps, the terms “a” and“an” do not exclude a plurality and a single processor or other unit mayfulfill the functions of several of the units or circuits recited in theclaims.

1. In a computer network comprising a server (106) and a client (102), amethod for formatting content for presentation on a display device (104)coupled to the client (102), comprising the steps of: requesting thecontent from the server (106); retrieving the content; processing thecontent at the server (106) using instructions received from the clienton how to format the content for the client (102); and transmitting theprocessed content from the server (106) to the client (102) for displayon the display device (104).
 2. The method for formatting contentaccording to claim 1, wherein said instructions are a style sheet. 3.The method for formatting content according to claim 1, wherein saidinstructions are an URL with the location of a style sheet which shouldbe used to format the content.
 4. The method for formatting contentaccording to claim 3, wherein said location is on an external server(114).
 5. The method for formatting content according to claim 1,wherein the instructions are sent to the server (106) with the requestfor the content.
 6. The method for formatting content according to claim1, wherein said instructions are sent to the server (106) in response toa request from the server.
 7. The method for formatting contentaccording to claim 1, wherein the server (106) creates a style sheet forformatting the content from the instructions sent from the client (102).8. A server system (106) for formatting content for display, comprisingmeans for retrieving (107) the content in response to receiving arequest for the content from a client (102) with a display device (104);processing means for processing (109) the document using instructionsreceived from the client (102) on how to format the content for thedisplay device (104); and means for transmitting (107) the processedcontent to the client (102) for display on the display device (104). 9.The server for formatting content according to claim 10, further beingconfigured to create a style sheet for formatting the content from theinstructions sent from the client (102).
 10. A computer program productfor formatting content for display comprising processing means forprocessing (109) a document using instructions received from a client(102) on how to format the content for a display device (104); and meansfor transmitting (107) the processed content to a client (102) fordisplay on the display device (104).